char des[16][7] = {
  "ieeshf",
  "balirt",
  "tdsneo",
  "atieao",
  "capedm",
  "luneyg",
  "rimsoa",
  "kutone",
  "rinesh",
  "teving",
  "rueiwl",
  "rofiax",
  "nadevz",
  "mqoabj",
  "lepust",
  "sacerl"
};

int poids[8][2] = { {-1, 0},
{-1, 1},
{0, 1},
{1, 1},
{1, 0},
{1, -1},
{0, -1},
{-1, -1}
};

int points[] = { 0, 0, 0, 1, 1, 2, 3, 5, 7, 9, 12, 15, 21, 26, 32, 41, 50};

typedef struct _boggle_chan_t boggle_chan_t;
struct _boggle_chan_t
{
  int players_id;
  int jeu[4][4];
  byte mode_hard;
  byte mode_debug;
  byte nb_lettres_min;
  byte enable_special;
  char *mot_special;
  char **solutions;
  int nb_solutions;
};

typedef struct _boggle_player_t boggle_player_t;
struct _boggle_player_t
{
  int score;
  byte found_special;
  char **liste_mots;
  int nb_mots;
};

int init_ok;
int id_partie;

int **pile_coord = NULL;
int nb_pile = 0;

int p_liste[26];
char **liste = NULL;
int nb_liste = 0;

void dump_jeu (boggle_chan_t * ptr, char b[4][4]);
int verifie_mot (char *s, int len, int *ind);
int dernier_poids (int x, int y, int x1, int y1);
void parcours_grille (boggle_chan_t * ptr);
void pop_coord (int *x, int *y, int *pl);
void pop_coord (int *x, int *y, int *pl);
char *ajoute_lettre (boggle_chan_t *ptr, char *str, int *len, int x, int y);
int ajoute_solution (boggle_chan_t *ptr, char *mot);
void init_chan_struct (boggle_chan_t * ptr);
void init_game (boggle_chan_t * ptr);
void init_boggle (char *diconame);
void aff_jeu (boggle_chan_t * ptr, char *channame, int aff_mode);
int mot_est_solution (boggle_chan_t *ptr, char *mot);
